package JavaException;

/**
 * try {
 *     // 可能会发生异常的代码块
 * } catch (Exception e1) {
 *     // 捕获并处理try抛出的异常类型Exception
 * } catch (Exception2 e2) {
 *     // 捕获并处理try抛出的异常类型Exception2
 * } finally {
 *     // 无论是否发生异常，都将执行的代码块
 * }
 */
public class ExceptionDemo3 {
    // 打印 a / b 的结果
    public static void divide(int a, int b) {
        System.out.println(a / b);
    }

    public static void main(String[] args) {
        try {
            // try 语句块
            // 调用divide()方法
            divide(2, 0);
        } catch (ArithmeticException e) {
            // catch 语句块
            System.out.println("catch: 发生了算数异常：" + e);
        } finally {
            // finally 语句块
            System.out.println("finally: 无论是否发生异常, 都会执行");
        }
        /**简化代码
         * try {
         *     // 可能会发生异常的代码块
         * } catch (Exception | Exception2 e) {
         *     // 捕获并处理try抛出的异常类型
         * } finally {
         *     // 无论是否发生异常，都将执行的代码块
         * }
         */
    }
}
